const express = require('express');
const fs = require('fs');
const mysql = require('mysql');

let db = mysql.createPool({
    host:'127.0.0.1',user:'root',password:'1q2w3e4R',database:'myproject'
})
//查
function getData(url,myqslUrl){ //get无参数
  let router = express.Router();
   router.get(`${url}`,(req,res)=>{
        db.query(`SELECT * FROM ${myqslUrl}`,(err,data)=>{
             if(err){
                res.status(500).send('database error').end();
              }else{
                  console.log(data)
                  res.send(data).end();
              }
         })
    })
    return router;
}
function getDataLimit(url,myqslUrl){ //GET带分页
  let router = express.Router();
   router.get(`${url}`,(req,res)=>{
     let num = req.query.page==1?0:(req.query.page*req.query.num-5);
    
        db.query(`SELECT * FROM ${myqslUrl} LIMIT ${num},${req.query.num}`,(err,data)=>{
             if(err){
                res.status(500).send('database error').end();
              }else{
                  console.log(data)
                  res.send(data).end();
              }
         })
    })
    return router;
}

//添加
function add(url,myqslUrl){ // post url监听的路径 myqslUrl数据库的地址
  let router = express.Router();
   router.post(`${url}`,(req,res)=>{
          // console.log(req.body)
          // console.log(myqslUrl)
      db.query(`INSERT INTO ${myqslUrl}(name,posterUrl,showTimeRange,lowestPrice) VALUES('${req.body.name}','${req.body.posterUrl}','${req.body.showTimeRange}','${req.body.lowestPrice}')`,(err,data)=>{
             if(err){
                res.status(500).send('database error').end();
              }else{
              
                res.status(200).send('新增成功').end();
              }
         })
    })
    return router;
}

//详情页
function detail(url,myqslUrl){ // get 商品详情页
  let router = express.Router();
   router.get(`${url}`,(req,res)=>{
          // console.log(req.query)
      db.query(`SELECT * FROM ${myqslUrl} WHERE id=${req.query.id}`,(err,data)=>{
             if(err){
                res.status(500).send('database error').end();
              }else{
              
                res.status(200).send(data).end();
              }
         })
    })
    return router;
}


// 编辑商品
function updata(url,myqslUrl){ // post url监听的路径 myqslUrl数据库的地址
  let router = express.Router();
   router.post(`${url}`,(req,res)=>{
          // console.log(req.body);
      db.query(`UPDATE ${myqslUrl} SET name='${req.body.name}',posterUrl='${req.body.posterUrl}',showTimeRange='${req.body.showTimeRange}',lowestPrice='${req.body.lowestPrice}'  WHERE id=${req.body.id}`,(err,data)=>{
             if(err){
                res.status(500).send('database error').end();
              }else{
              
                res.status(200).send('更新成功').end();
              }
         })
    })
    return router;
}

// 删除商品
function del(url,myqslUrl){ // post url监听的路径 myqslUrl数据库的地址
  let router = express.Router();
   router.post(`${url}`,(req,res)=>{
          console.log(req.body);
           db.query(`SELECT * FROM ${myqslUrl}  WHERE id=${req.body.id}`,(err,data)=>{
             if(err){
                res.status(500).send('database error').end();
              }else{
                  if(data.length>0){
                  
                       let url = data[0].posterUrl.split('/updata/')[1]; //获取到图片的名字加后缀
                       fs.unlink('www/updata/'+url,(err)=>{
                           if(err){
                            res.status(500).send('database error').end();
                           }else{
                                    //删除本地的图片
                                     db.query(`DELETE FROM ${myqslUrl}  WHERE id=${req.body.id}`,(err,data)=>{
                                           if(err){
                                             console.log(err);
                                              res.status(500).send('database error').end();
                                            }else{
                                              
                                              res.status(200).send('删除成功').end();
                                            }
                                       })
                           }
                       }); 
                  }else{
                    res.status(404).send('找不到你的数据').end();
                  }
               
              }
         })
  
    })
    return router;
}
module.exports = {
  db,getData,getDataLimit,add,detail,updata,del
}